import wx from "weixin-js-sdk";
import { setStore, getStore, removeStore } from './storage'
import {GetJsapi} from '@/api/home'
import axios from 'axios'
import { jsonp } from "vue-jsonp";

// resdata微信参数 type需要调用类型
export function wxSDK(WXtype,item){
  // 微信SDK配置
  const data = {
  	url: location.href.split('#')[0]
  }
  GetJsapi(data).then((res) => {
  	const resData = res
    wx.config({
    	debug: false,
    	appId: resData.appId, // 必填,公众号的唯一标识
    	timestamp: resData.timestamp, // 必填,生成签名的时间戳
    	nonceStr: resData.nonceStr, // 必填,生成签名的随机串
    	signature: resData.signature, // 必填,签名
    	jsApiList: ['scanQRCode', 'openLocation', 'getLocation'] // 必填,需要使用的JS接口列表
    })

    wx.ready(function() {
    	// config信息验证成功后会执行ready方法,所有接口调用都必须在config接口获得结果之后
    	// config 是一个客户端的异步操作,所以如果需要在页面加载时调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行.对于用户触发是才调用的接口,则可以直接调用,不需要放在ready函数中
    	wx.checkJsApi({ // 判断当前客户端版本是否支持指定JS接口
    		jsApiList: [
    			'scanQRCode',
    			'openLocation',
    			'getLocation'
    		],
    		success: function(res) { // 以键值对的形式返回，可用true，不可用false。如：{"checkResult":{"scanQRCode":true},"errMsg":"checkJsApi:ok"}
          if (res.checkResult.getLocation&&WXtype=='getLocation') { // 获取经纬度
            wx.getLocation({
              type: 'gcj02', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
              success: function (res) {
                setStore('latitude',res.latitude)
                setStore('longitude',res.longitude)
                let location = res.latitude + ',' + res.longitude
                jsonp("https://apis.map.qq.com/ws/geocoder/v1", {
                  key: "XCCBZ-U65CQ-D4B52-4NDNY-DA32J-R2FWU",
                  location: location,
                  output: "jsonp", // output必须jsonp   不然会超时
                }).then(res=>{
                  console.log(res)
                  setStore('address',res.result.address_component)
                  setStore('result',res.result)
                })
              }
            });
    			} else if(res.checkResult.openLocation &&WXtype=='openLocation'){ //打开内置地图
            console.log(1)
            wx.openLocation({
              latitude: Number(getStore('latitude')),	//维度
              longitude: Number(getStore('longitude')), //经度
              name: item.name,	//目的地定位名称
              scale: 15,	//缩放比例
              address: item.address,	//导航详细地址
              infoUrl:''
            })
          }
    		},
    		fail: function(res) { // 检测getNetworkType该功能失败时处理
    			return false
    		}
    	})
    })
  })
}
